home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2000 #4 / Amiga Plus CD - 2000 - No. 4.iso / Tools / Dev / powerd / source / examples / GadToolsTest.d < prev    next >
Encoding:
Text File  |  2000-02-01  |  1.6 KB  |  56 lines

  1. // simple gadtools button in window
  2.  
  3. OPT    OSVERSION=37
  4.  
  5. MODULE    'gadtools',
  6.             'libraries/gadtools',
  7.             'intuition/intuition',
  8.             'intuition/screens',
  9.             'intuition/gadgetclass',
  10.             'graphics/text'
  11.  
  12. ENUM    NOERROR,ERROR
  13.  
  14. DEF    window:PTR TO Window,
  15.         glist,
  16.         screen:PTR TO Screen,
  17.         visual=NIL,
  18.         g:PTR TO Gadget,
  19.         GadToolsBase
  20.  
  21. PROC OpenAll()(LONG)
  22.     IF (GadToolsBase:=OpenLibrary('gadtools.library',37))=NIL THEN RETURN ERROR
  23.     IF (screen:=LockPubScreen('Workbench'))=NIL THEN RETURN ERROR
  24.     IF (visual:=GetVisualInfoA(screen))=NIL THEN RETURN ERROR
  25.     IF (g:=CreateContext(&glist))=NIL THEN RETURN ERROR
  26.     IF (g:=CreateGadgetA(BUTTON_KIND,g,[8,8,112,48,'Button',0,0,16,visual,0]:NewGadget,NIL))=NIL THEN RETURN ERROR
  27.     IF (window:=OpenWindowTagList(NIL,[
  28.             WA_Left,214,
  29.             WA_Top,64,
  30.             WA_InnerWidth,128,
  31.             WA_InnerHeight,64,
  32.             WA_IDCMP,IDCMP_CLOSEWINDOW|IDCMP_GADGETUP,
  33.             WA_Flags,$1100E|WFLG_GIMMEZEROZERO,
  34.             WA_Title,'Window',
  35.             WA_CustomScreen,screen,
  36.             WA_Gadgets,glist,
  37.             TAG_END]))=NIL THEN RETURN ERROR
  38.     DrawBevelBox(window.RPort,4,4,120,56,GT_VisualInfo,visual,GTBB_Recessed,1,TAG_END)
  39.     GT_RefreshWindow(window,NIL)
  40. ENDPROC NOERROR
  41.  
  42. PROC CloseAll()
  43.     IF window THEN CloseWindow(window) ELSE PrintF('Unable to open window!\n')
  44.     IF glist THEN FreeGadgets(glist) ELSE PrintF('Unable to create gadgets!\n')
  45.     IF screen THEN UnlockPubScreen(NIL,screen) ELSE PrintF('Unable to lock a screen!\n')
  46.     IF GadToolsBase THEN CloseLibrary(GadToolsBase) ELSE PrintF('Unable to open gadtools.library v37+!\n')
  47. ENDPROC
  48.  
  49. PROC main()
  50.     IF OpenAll() THEN Raise()
  51.     WaitPort(window.UserPort)
  52.     Raise()
  53. EXCEPT
  54.     CloseAll()
  55. ENDPROC
  56.